A computer memory cache may operate using volatile or non-volatile memory. When volatile memory is used, caching policies usually (i.e., since the cache state is reset during each boot) include a mechanism to flush the cache before associated cache driver software acts to access the cache.
Access requests to the cached medium that are made prior to loading and executing the driver software can thus be prevented from corrupting cached data.
While it can be advantageous to use non-volatile memory in a cache (e.g., the cache state can be maintained during system shutdown or a power failure), implementation problems may arise. For example, write requests associated with data stored in a non-volatile cache that occur prior to loading the cache driver may result in data corruption once the driver boots. Invalidating the non-volatile cache after the driver begins execution may avoid data corruption, but the advantage of a persistent cached data state is lost.